﻿$(document).ready(function () {

    _PAGE = function () {
        this._RegistroDatos = null;
        this._Admision = null;
        this._PreMatricula = null;


        this.InitRegistroDatos = function (Cont, Clie_ID, CodigoConvocatoria) {
            var _parent = this;

            _RegistroDatos.prototype = new Mantenimiento();
            _parent._RegistroDatos = new _RegistroDatos();


            _parent._RegistroDatos.Clie_ID = Clie_ID;
            _parent._RegistroDatos.CodigoConvocatoria = CodigoConvocatoria;

            _parent._RegistroDatos.Init(
                Cont, {}, "All");
        };

        this.InitAdmision = function (Cont, Clie_ID, CodigoConvocatoria) {
            var _parent = this;

            //Vemos si existe el estado del postulante
            if (_parent._Admision == null) {
                jQuery.getScript(URL_PAGE + "Scripts/app/postulante/Main/Admision.js", function () {
                    _Admision.prototype = new Mantenimiento();
                    _parent._Admision = new _Admision();
                    _parent._Admision.Clie_ID = Clie_ID;
                    _parent._Admision.CodigoConvocatoria = CodigoConvocatoria;
                    _parent.InitAdmision(Cont, Clie_ID, CodigoConvocatoria);
                });
            } else {
                _parent._Admision.Init(
                Cont, {}, "All");
            }
        };

        this.InitPreMatricula = function (Cont, Clie_ID, CodigoConvocatoria) {
            var _parent = this;

            _PreMatricula.prototype = new Mantenimiento();
            _parent._PreMatricula = new _PreMatricula();


            _parent._PreMatricula.Clie_ID = Clie_ID;
            _parent._PreMatricula.CodigoConvocatoria = CodigoConvocatoria;

            _parent._PreMatricula.Init(
                Cont, {}, "All");
        };

    };



    function _PreMatricula() {
        this.Clie_ID = null;
        this.CodigoConvocatoria = null;

        this.ValidacionCamposForm = function () {
            var _parent = this;

            var form = _parent._getContForm();
            //Colocando la validacion del formulario
            form.find("#voucher").addClass("validate[required]");
        };

        //Como comienza la visualizacion de los botones de pago por voucher o pago por visa
        this.VisualizacionInicial = function () {
            var _parent = this;
            var form = _parent._getContForm();

            form.find("#Boton_pago").slideDown();
            form.find("#Formulario_Voucher").slideUp();
            form.find("#Formulario_Visa").slideUp();
            form.find("#Boton_regresar").slideUp();
        };

        //Visualizacion de forma voucher
        this.VisualizacionVoucher = function () {
            var _parent = this;
            var form = _parent._getContForm();

            form.find("#Boton_pago").slideUp();
            form.find("#Formulario_Voucher").slideDown();
            form.find("#Formulario_Visa").slideUp();
            form.find("#Boton_regresar").slideDown();
        };

        //Visualizacion de forma voucher
        this.VisualizacionVisa = function () {
            var _parent = this;
            var form = _parent._getContForm();

            form.find("#Boton_pago").slideUp();
            form.find("#Formulario_Voucher").slideUp();
            form.find("#Formulario_Visa").slideDown();
            form.find("#Boton_regresar").slideDown();
        };

        this.PagoInicial = function () {
            var _parent = this;
            var form = _parent._getContForm();

            //Configurando el stylo para el voucher
            _parent.StyleInputFile2(form.find("#voucher"));
            _parent._ValidacionExtensionArchivo(
            form.find("#voucher")
            , ["png", "jpg", "pdf"]
            , "Formato de archivo incorrecto para la foto"
            , "Los formatos permitidos son jpg, png, pdf"
            );

            form.find("#form-voucher").find(".formapago").click(function () {
                var obj = $(this);

                if (obj.val() == "factura") {
                    form.find("#form-voucher").find("#detalle-factura").slideDown();
                } else {
                    form.find("#form-voucher").find("#detalle-factura").slideUp();
                }
            });

            //console.log(form.find("#form-voucher"));
            //Evento para subir el voucher
            form.find("#form-voucher").validationEngine({
                promptPosition: "topLeft",
                ajaxSubmit: true,
                onValidationComplete: function (formu, status) {
                    if (status) {

                        var confirmacion = _parent._MensajeConfirmacion();
                        confirmacion.titulo = "&iquest;Esta seguro de subir el voucher de pago?";
                        confirmacion.contenido = "Una vez enviado no podr&aacute; modificarlo.";

                        confirmacion.yes = function () {

                            form.find("#form-voucher").ajaxSubmit({
                                success: function (responseText, statusText, xhr, $form) {
                                    location.reload();
                                }
                            });
                        };
                        confirmacion.modal();
                    }
                }
            });

            ///
            form.find("#form-visa").find(".formapago").click(function () {
                var obj = $(this);

                if (obj.val() == "factura") {
                    form.find("#form-visa").find("#detalle-factura").slideDown();
                } else {
                    form.find("#form-visa").find("#detalle-factura").slideUp();
                }
            });

            //Evento para subir el voucher
            form.find("#form-visa").validationEngine({
                promptPosition: "topLeft",
                ajaxSubmit: true,
                onValidationComplete: function (formu, status) {
                    if (status) {
                        form.find("#form-visa").validationEngine('detach');
                        form.find("#form-visa").submit();
                    }
                }
            });

            form.find("#pago_voucher").click(function () {
                _parent.VisualizacionVoucher();
            });

            form.find("#pago_visa").click(function () {
                _parent.VisualizacionVisa();
            });

            form.find("#cambiar_forma_pago").click(function () {
                _parent.VisualizacionInicial();
            });

        };

        this.PreInit = function () {
            var _parent = this;

            var form = _parent._getContForm();

            this.PagoInicial();
            _parent.VisualizacionInicial();
            _parent.ValidacionCamposForm();

            form.find(".seleccione-forma-pago").click(function () {
                var modal = _parent._getModalV2();
                var obj = $(this);


                $.ajax({
                    url: URL_PAGE + "Postulante/Main/FormaPago",
                    data: { idpostulante: obj.attr("data-idpostulante") },
                    success: function (html) {
                        modal.modal('show');

                        modal.find(".modal-body").html(html);

                        var body = modal.find(".modal-body");

                        body.find("#forma-pago").find("a").click(function (e) {
                            e.preventDefault();
                            $(this).tab('show');
                        })

                        //Registrando los eventos
                        body.find("#subircontado").click(function () {
                            body.find("#frmContado").submit();
                        });

                        //console.log(body.find("#frmContado").find(".formapago"));
                        body.find("#frmContado").find(".formapago").click(function () {
                            var obj = $(this);
                            if (obj.val() == "factura") {
                                body.find("#frmContado").find("#detalle-factura").slideDown();
                            } else {
                                body.find("#frmContado").find("#detalle-factura").slideUp();
                            }
                        });

                        body.find("#frmContado").submit(function () {
                            body.find("#frmContado").ajaxSubmit({
                                success: function (responseText, statusText, xhr, $form) {
                                    document.location.reload(true);
                                }
                            });

                            return false;
                        });

                        //Subir el archivo de financiamiento
                        body.find("#subirfinanciado").click(function () {
                            body.find("#frmFinanciado").submit();
                        });

                        body.find("#frmFinanciado").submit(function () {
                            body.find("#frmFinanciado").ajaxSubmit({
                                success: function (responseText, statusText, xhr, $form) {
                                    document.location.reload(true);
                                }
                            });
                            return false;
                        });

                        //Escoger el tipo de financiamiento
                        body.find("#tipofinanciamiento").change(function () {
                            var obj = $(this);

                            if (obj.val() == "directo") {
                                body.find("#cronograma-directo").slideDown();
                                body.find("#cronograma-4partes").slideUp();
                            } else if (obj.val() == "4partes") {
                                body.find("#cronograma-directo").slideUp();
                                body.find("#cronograma-4partes").slideDown();
                            }
                        });


                        modal.find(".modal-header").find("h2").html("Seleccione una forma de pago");
                        modal.find(".modal-footer").find("#aceptar").hide();
                        modal.css({
                            'top': "30%",
                            'width': '800px',
                            'margin-left': function () {
                                return -($(this).width() / 2);
                            }
                        });
                        _parent.StyleInputFile2(modal.find(".modal-body").find("#cronogramapago_archivo"));
                        _parent.StyleInputFile2(modal.find(".modal-body").find("#voucherpagocontado_archivo"));
                        modal.modal({ keyboard: false, backdrop: 'static' });

                    }
                });
            });
        };
    };



    function _RegistroDatos() {
        this.Clie_ID = null;
        this.CodigoConvocatoria = null;

        this.PreInit = function () {
            var _parent = this;

            var form = _parent._getContForm();

            form.find("#ver-ficha-resumen").click(function (event) {

                event.preventDefault();
                var obj = jQuery(this);

                jQuery.ajax({
                    type: "POST",
                    url: URL_PAGE + "Postulante/Main/FichaResumenPostgrado",
                    data: {
                        Clie_ID: _parent.Clie_ID,
                        Codigo_Convocatoria: _parent.CodigoConvocatoria
                    },
                    success: function (html) {
                        var modal = _parent._getModal(html);

                        modal.find('.modal-header').find("h2").html("FICHA RESUMEN");
                        modal.find(".modal-footer").find("#aceptar").hide();
                        modal.css({
                            'top': "40%",
                            'width': '800px',
                            'margin-left': function () {
                                return -($(this).width() / 2);
                            }
                        });
                        modal.modal();
                    }
                });
            });
        };
    };

    $("#ver-ficha-prematricula").click(function (event) {
        var idcliente = $(this).attr("data-idcliente");
        var codigoConvocatoriaPostulante = $(this).attr("data-codigoconvocatoria");
        CargarFichaPrematricula(idcliente, codigoConvocatoriaPostulante);

    });

    $("#ver-ficha-financiamiento").click(function (event) {
        var idcliente = $(this).attr("data-idcliente");
        var codigoConvocatoriaPostulante = $(this).attr("data-codigoconvocatoria");
        CargarSolicitudFinanciamiento(idcliente, codigoConvocatoriaPostulante);
    });

    $("#ver-documentos-requeridos-prematricula").click(function (event) {
        var idcliente = $(this).attr("data-idcliente");
        var codigoConvocatoriaPostulante = $(this).attr("data-codigoconvocatoria");
        cargarDocumentosRequeridos(idcliente, codigoConvocatoriaPostulante);

    });

    function cargarDocumentosRequeridos(idcliente, codigoConvocatoria) {
        var modal = $("#modal-ar");
        $.ajax({
            url: URL_PAGE + "Postulante/Finanzas/FichaArchivos",
            type: "post",
            data: { clieId: idcliente, convocatoria: codigoConvocatoria },
            success: function (data) {
                modal.find(".modal-header").find("h3").html("Documentos Requeridos");
                modal.find(".modal-body").html(data);
                modal.css({
                    'top': "50%",
                    'width': '700px',
                    'margin-left': function () {
                        return -($(this).width() / 2);
                    }
                });
                modal.modal({ keyboard: false, backdrop: 'static' });
            }
        });

    }

    function CargarFichaPrematricula(idcliente, convocatoria) {
        var modal = $("#modal-fp");
        $.ajax({
            url: URL_PAGE + "Postulante/Finanzas/FichaPreMatricula",
            type: "post",
            data: { clieId: idcliente, codigoConvocatoria: convocatoria },
            success: function (data) {
                //modal.find(".modal-header").find("h3").html("Registro Pre-Matricula");
                modal.find(".modal-body").html(data);
                modal.css({
                    'top': "40%",
                    'width': '900px',
                    'margin-left': function () {
                        return -($(this).width() / 2);
                    }
                });
                modal.modal({ keyboard: false, backdrop: 'static' });
            }
        });

    }
    //    $('#modal-fp').delegate('#pp_grabar', 'click', function () {
    //        //alert("entro a ver ficha encuesta");
    //        //            var idcliente = $(this).attr("data-id_cliente");
    //        //            var codigoConvocatoriaPostulante = $(this).attr("data-codigo_convocatoria");
    //        registrarFichaPrematricula();

    //    });
    function registrarFichaPrematricula() {
        var _parent = this;
        var obj = $(this);

        $.ajax({
            url: URL_PAGE + "Postulante/Finanzas/RegistrarFichaPreMatricula",
            type: "post",
            data: {
                Clie_ID: $("#Clie_ID2").val(),
                codConvocatoria: $("#codConvocatoria2").val()
            },
            success: function (data) {
                _PAGE.Postulante.List();
                $("#modal-fp").modal('hide');
            }
        })
    }
    function CargarSolicitudFinanciamiento(idcliente, codigoConvocatoria) {
        var modal = $("#modal-sf");
        $.ajax({
            url: URL_PAGE + "Postulante/Finanzas/SolicitudFinanciamiento",
            type: "post",
            data: { clieId: idcliente, CodigoConvocatoria: codigoConvocatoria },
            success: function (data) {
                modal.find(".modal-header").find("h3").html("Solicitud de Financiamiento");
                modal.find(".modal-body").html(data);
                modal.css({
                    'top': "40%",
                    'width': '1024px',
                    'margin-left': function () {
                        return -($(this).width() / 2);
                    }
                });
                modal.modal({ keyboard: false, backdrop: 'static' });
            }
        });

    }
    $('#modal-sf').delegate('#sf_grabar', 'click', function () {
        //alert("entro a ver ficha encuesta");
        //            var idcliente = $(this).attr("data-id_cliente");
        //            var codigoConvocatoriaPostulante = $(this).attr("data-codigo_convocatoria");
        registrarSolicitudFinanciamiento();

    });
    function registrarSolicitudFinanciamiento() {
        var _parent = this;
        var obj = $(this);

        $.ajax({
            url: URL_PAGE + "Postulante/Finanzas/RegistrarSolicitudFinanciamiento",
            type: "post",
            data: {
                Clie_ID: $("#Clie_ID").val(),
                codConvocatoria: $("#codConvocatoria").val()
            },
            success: function (data) {
                _PAGE.Postulante.List();
                $("#modal-sf").modal('hide');
            }
        })
    }

    //    $('#modal-ar').delegate('#dr_grabar', 'click', function () {
    //        //alert("entro a ver ficha encuesta");
    //        //            var idcliente = $(this).attr("data-id_cliente");
    //        //            var codigoConvocatoriaPostulante = $(this).attr("data-codigo_convocatoria");
    //        registrarDocumentoRequerido();

    //    });
    function registrarDocumentoRequerido() {
        var _parent = this;
        var obj = $(this);

        $.ajax({
            url: URL_PAGE + "Postulante/Finanzas/RegistrarDocumentosRequeridos",
            type: "post",
            data: {
                Clie_ID: $("#Clie_ID").val(),
                codConvocatoria: $("#codConvocatoria").val()
            },
            success: function (data) {
                _PAGE.Postulante.List();
                $("#modal-ar").modal('hide');
            }
        })
    }

    $('#modal-as').delegate('#ce_grabar', 'click', function () {
        //alert("entro a ver ficha encuesta");
        //            var idcliente = $(this).attr("data-id_cliente");
        //            var codigoConvocatoriaPostulante = $(this).attr("data-codigo_convocatoria");
        registrarAvalSolidario();

    });
    function registrarAvalSolidario() {
        var _parent = this;
        var obj = $(this);

        $.ajax({
            url: URL_PAGE + "Postulante/Main/AvalSolidario",
            type: "post",
            data: {
                Clie_ID: $("#Clie_ID").val(),
                codConvocatoria: $("#codConvocatoria").val()
            },
            success: function (data) {
                _PAGE.Postulante.List();
                $("#modal-as").modal('hide');
            }
        })
    }
    var page = new _PAGE();
    page.InitRegistroDatos(
        $("#_RegistroDatos")
        , $("#Global_Clie_ID").val()
        , $("#Global_ConvocatoriaCodigo").val());

    page.InitAdmision(
        $("#_Admision")
        , $("#Global_Clie_ID").val()
        , $("#Global_ConvocatoriaCodigo").val());

    page.InitPreMatricula(
        $("#_PreMatricula")
        , $("#Global_Clie_ID").val()
        , $("#Global_ConvocatoriaCodigo").val());
});